// ES5 实现：
function unique (arr) {
  return arr.filter((item, index, array) => {
    return array.indexOf(item) === index
    // 如果这个index和这个index相同 那么就是第一个 如果不相同 说明这个在前面已经有了
  })
}
console.log(unique([1, 2, 3, 4, 5, 4, 3, 21, 2, 2]));

// ES6 实现：
function unique1 (arr) {
  return [...new Set(arr)] // 现将数组转换为set结构 再将set结构结构为数组
}
console.log(unique1([1, 2, 3, 4, 5, 4, 3, 21, 2, 2]));

function unique2 (arr) {
  return arr.filter((item, index) => {
    return arr.indexOf(item) === index
  })
}
console.log(unique2([1, 2, 3, 4, 5, 4, 3, 21, 2, 2]));
